bf(choice_rep ~ county_name + (1 | office/district) + (1 | cvr_id))Ideal Point Estimation of Voters Using Cast Vote Records
Introduction
How representative is the government of its constituents? This topic has been repeatedly probed in the political science literature (e.g., Canes-Wrone, Brady, and Cogan 2002; Bafumi and Herron 2010; Kirkland 2022). However, those analyses use aggregated measures of voter preferences or survey-based estimates of ideology rather than the actual votes of individuals (for an exception, see Lewis 2001). Survey-based estimates suffer from two related flaws. First, like all surveys, issues of sampling bias, response bias, their temporal relationship with the actual election, and other such problems prevents them from being perfect representations of vote choice. Second, surveys are often unable to ask voters about the full set of choices on their ballot, mostly given space constraints and the difficulty that arises from determining which exact races a voter was eligible to vote in. Aggregated data overcomes these two issues by using the results from an election and being able to look at the results in every race on the ballot. However, with aggregated data we lose the richness of being able to study the same voter up and down the ballot. What if voters are splitting their tickets, vacillate randomly between candidates, or otherwise act in such a way that aggregate measures would miss?
To avoid all of these problems, I use an original data set of “cast vote records” (CVRs) that reveal anonymous, individual voter choices in each race in the 2020 election. Since these are true votes by people, they do not suffer from the same problems as surveys, and because I can uniquely identify the same voter up and down the ballot, issues of aggregation do not apply here. The downside of using CVRs is that they reveal very little additional information about the voter. There are no names, no voter IDs, no demographic information, or anything that might violate the privacy of a voter. The only thing that could be done would be to attempt to parse the precinct of the voter (which is only available for some counties) and back out aggregate level demographic information on the voters. For this paper, I set this process aside and only work with the anonymized data.
Using this data, I estimate the latent traits of voters that are best described by their vote choices in the election. In previous research, the first dimension of this latent trait is often assumed to be the ideology of the voter, so I refer to this latent trait as ideology henceforth (Clinton, Jackman, and Rivers 2004; Lewis 2001; Bonica 2014; Heckman and Snyder Jr 1996).
Data
My data is limited to the 2020 election and a non-random set of states/counties. Nevertheless, it still contains almost 1 billion choices in elections at all levels of government and in localities of all kinds from all over the country. See Figure 1 for the full distribution of counties. I remove all uncontested races, and all races where a voter could select more than one candidate (although see Section 4). In addition, I subset my data to a random selection of 25,000 voters in Colorado, to make computation tractable. Colorado has some of the best coverage of any state in the data – nearly every county is represented and the state already has a decent partisan and demographic mix so that I can think of it as a good benchmark for how the model would perform in every other state.
Model Specification
Item Response Theory
Binomial Outcome
To start, I follow the previous literature on this topic Lewis (2001) by only focusing on binary choices. That research achieved that by only focusing on propositions, which are inherently encoded as Yes/No choices. However, I want to make use of the full set of my data, so I create a variable choice_rep that is a binary 1/0 for if the voter has selected the Republican candidate in the race. This choice means that all ideal points on the right side of the scale will indicate greater likelihood to select the Republican candidate (and thus naturally map to the left/right US political party scale). In theory, a similar variable for the choice of the Democrat would have achieved basically the same results (just with the scale flipped).
Rasch Model
I start by fitting a simple Rasch model. First, I do this for a random county in Colorado, Adams County, then for the whole state. I estimate the following Bernoulli model using brms . All models are run for 4 chains, with 1000 warm-up iterations and then 1000 sampling iterations. Trace plots are too numerous to display, so Figure 2 instead plots the \(\hat{R}\) value for every parameter in the model. As can be seen, all \(\hat{R}\) values are extremely close to 1, indicating the model has converged well. This is true for all the model specifications in this section (also shown in Figure 2).
Rasch models treat each race as equally important in determining the ideal point of a voter, so I only look at those ideal points. I randomly select 10 voters and plot their estimated ideal points in Figure 3. These estimates generally make sense; voter “66698” chose entirely Republican candidates except for two races whereas voter “238086” and “223808” voted straight Democrat and straight Republican ballots, respectively. The variation in outcome in “66698” lets me better identify their location on the first dimension, which is why the distribution of the posterior is tighter for these voters.
2PL Model, Constrained Discrimination
Categorical Outcomes
Potential Extensions
Scaling latent space together from this data and the DIME scores could be Scaling Data from Multiple Sources by Ted Enamorado 1, Gabriel López-Moctezuma2 and Marc Ratkovic.
Ends Against the Middle: Measuring Latent Traits when Opposites Respond the Same Way for Antithetical Reasons by JBrandon Duck-Mayr 1 and Jacob Montgomery. Different from just including a second dimension to explain responses. But maybe I should just say that we should include additional dimensions.
Nonparametric Ideal-Point Estimation and Inference Alexander Tahk
Extension to modeling races with magnitude > 1
Nov 11 Update
Warning: Removed 1440 rows containing missing values (`stat_slabinterval()`).
As shown in Figure 4, each office is not very discriminatory. The reason for this is that most people are straight-ticket voters, and so there is mostly no variation among voters. Maybe could focus only on people who actually split a ticket, or perhaps just by including more people in the same we would be able to recover more of an effect here.